package com.suncreate.zhtz.iot.tool;

import com.suncreate.zhtz.iot.model.WavModel;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ConvertTools {
    //pcm音频原始文件转wav音频文件
    public static WavModel getWavHead(int PCMSize) {
            // 填入参数，比特率等等。这里用的是16位单声道 22050 hz
        try{
            WavModel header = new WavModel();
            // 长度字段 = 内容的大小（PCMSize) +
            // 头部字段的大小(不包括前面4字节的标识符RIFF以及fileLength本身的4字节)
            header.fileLength = PCMSize + (44 - 8);
            header.FmtHdrLeth = 16;
            header.BitsPerSample = 16;//数据位数
            header.Channels = 1;//声道数
            header.FormatTag = 0x0001;
            header.SamplesPerSec = 22050;//采样率
            header.BlockAlign = (short) (header.Channels * header.BitsPerSample / 8);
            header.AvgBytesPerSec = header.BlockAlign * header.SamplesPerSec;
            header.DataHdrLeth = PCMSize;
            return header;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

